#pragma once

#include <iostream>

#include <unistd.h>

#include <fcntl.h>

static const int NON_BLOCK_ERR = 5; // 设置非阻塞失败

void SetNonBlockOrDie(int sockfd) // 为Reactor模式准备
{
    int fl = fcntl(sockfd, F_GETFL);
    if (fl < 0) // 当设置非阻塞失败则表示ET模式不可用 直接退出
        exit(NON_BLOCK_ERR);

    fcntl(sockfd, F_SETFL, fl | O_NONBLOCK);
}
